Cleaning robot

ABSTRACT

Provided is a cleaning robot including a main body; a driving unit configured to move the main body; a communication unit configured to establish wireless communication with a user terminal to which a manipulation command is input; and a controller configured to transmit a position detecting signal to the user terminal, and detect a position of the user terminal based on a time difference between the position detecting signal and a response signal transmitted from the user terminal.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 15/031,978 filed on May 12, 2016, which is a U.S.national stage application of International Application No.PCT/KR2014/010031 filed on Oct. 23, 2014 and claims the priority benefitof Korean Application Nos. 10-2013-0127940 and 10-2013-0127956 eachfiled on Oct. 25, 2013, in the Korean Intellectual Property Office, thedisclosures of which are incorporated by reference in their entirety.

BACKGROUND 1. Field

The present invention relates to a cleaning robot, and moreparticularly, to a cleaning robot capable of detecting the positions ofa user and an obstacle.

2. Description of the Related Art

A cleaning robot is a device that automatically cleans a space to becleaned by sucking foreign substances, such as dust, from a floor of thespace while driving through the space without a user's manipulation.That is, the cleaning robot cleans a space to be cleaned while drivingthrough the space.

In the case of a cleaning robot according to the related art, when auser wants to first clean a specific location in a space to be cleaned,the user should check the position of the cleaning robot and move thecleaning robot to the specific location using a remote control.

However, when the user does not know the position of the cleaning robot,the user should find the cleaning robot. While the cleaning robot cleansa space under a sofa, a bed, etc., the user would have difficulties infinding the cleaning robot. Also, the user may have difficulties incontrolling driving of the cleaning robot using a remote control to movethe cleaning robot to a specific location.

Also, while the cleaning robot cleans a space to be cleaned whiledriving through the space, movement of the cleaning robot may beinterrupted with an obstacle (such as furniture, a door sill, wire,etc.) located in a driving path of the cleaning robot. Thus, thecleaning robot should perform avoidance driving to sense and avoid theobstacle.

In order to sense and avoid an obstacle, a cleaning robot according tothe related art emits infrared light, ultrasonic waves, etc. in aforward direction and detects the presence and position of the obstacleusing reflected light or waves.

However, when infrared light or ultrasonic waves are used, the precisionof detecting the presence and position of an obstacle may be low due tothe color of a space to be cleaned, light such as sunlight, externalnoise, temperature, etc.

SUMMARY

Additional aspects and/or advantages will be set forth in part in thedescription which follows and, in part, will be apparent from thedescription, or may be learned by practice of the disclosure.

One aspect of the present invention is directed to a cleaning robotcapable of detecting the position of a user using an ultra-wide bandcommunication method.

Another aspect of the present invention is directed to a cleaning robotcapable of detecting the presence and position of an obstacle withoutbeing interfered by external influences.

One aspect of the present invention provides a cleaning robot includinga main body; a driving unit configured to move the main body; acommunication unit configured to establish wireless communication with auser terminal to which a manipulation command is input; and a controllerconfigured to transmit a position detecting signal to the user terminal,and detect a position of the user terminal based on a time differencebetween the position detecting signal and a response signal transmittedfrom the user terminal.

In one exemplary embodiment, the communication unit may include at leasttwo ultra-wide band communication modules configured to transmit animpulse signal.

In one exemplary embodiment, in order to transmit the position detectingsignal to the user terminal, the controller may control thecommunication unit to cause each of the at least two ultra-wide bandcommunication modules to transmit the impulse signal to the userterminal.

In one exemplary embodiment, the controller may detect a distancebetween each of the at least two ultra-wide band communication modulesand the user terminal, based on a difference between time when each ofthe at least two ultra-wide band communication modules transmits theimpulse signal and time when each of the at least two ultra-wide bandcommunication modules receives the response signal.

In one exemplary embodiment, the controller may detect coordinates ofthe user terminal using the distance between each of the at least twoultra-wide band communication modules and the user terminal and usingtriangulation.

In one exemplary embodiment, when a ‘follow’ command is input via theuser terminal, the controller may control the driving unit such that thedistances between the at least two ultra-wide band communication modulesand the user terminal are less than or equal to a predeterminedreference distance.

In one exemplary embodiment, when a ‘follow’ command is input via theuser terminal, the controller may control the driving unit such that thecoordinates of the user terminal are in a predetermined range ofcoordinates.

In one exemplary embodiment, when a manual cleaning command is input viathe user terminal, the controller may control the driving unit to movethe main body along a moving trajectory of the user terminal.

In one exemplary embodiment, in order to detect the moving trajectory ofthe user terminal, the controller may calculate a moving direction anddisplacement of the user terminal, based on a change in the coordinatesof the user terminal.

In one exemplary embodiment, the controller may control the driving unitto move the main body by the moving displacement in the movingdirection.

In one exemplary embodiment, the communication unit may establishwireless communication with a beacon located at a reference position,and the controller may transmit the position detecting signal to thebeacon, and detect a position of the main body relative to the referenceposition, based on a time difference between the position detectingsignal and a response signal transmitted from the beacon.

In one exemplary embodiment, the controller may detect a position of thebeacon relative to the main body based on the time difference, andcalculate the position of the main body based on the position of thebeacon.

In one exemplary embodiment, when a designated-position cleaning commandis input, the controller may detect a position indicted by the userterminal, based on location information and posture information of theuser terminal.

In one exemplary embodiment, the communication unit may output a sensingradio wave and receive a radio wave reflected from a user's body, andthe controller may detect a position of the user's body based on a timedifference between the sensing radio wave and the reflected radio wave,and control the driving unit when a follow-user command is input, suchthat a distance between the user and the main body is less than or equalto a predetermined reference distance.

Another aspect of the present invention provides a cleaning robotincluding a main body; a driving unit configured to move the main body;a front-obstacle sensing unit configured to transmit a front-sensingradio wave toward a front of the main body and detect a front-reflectedradio wave reflected from a front obstacle; and a controller configuredto detect location information of the front obstacle based on thefront-reflected radio wave. The front-obstacle sensing unit includes atleast two ultra-wide band radar sensors configured to transmit animpulse radio wave.

In one exemplary embodiment, the controller may detect a position of thefront obstacle based on a time difference between the front-sensingradio wave and the front-reflected radio wave.

In one exemplary embodiment, the controller may detect the locationinformation of the front obstacle, based on a distance between the atleast two ultra-wide band radar sensors and distances between the atleast two ultra-wide band radar sensors and the front obstacle.

In one exemplary embodiment, the cleaning robot may further include afloor-obstacle sensing module configured to emit a floor-sensing radiowave toward a floor of a space to be cleaned, and detect afloor-reflected radio wave reflected from a floor obstacle, and thefloor-obstacle sensing module may include at least one ultra-wide bandradar sensor configured to transmit an impulse radio wave.

In one exemplary embodiment, the controller may detect a position of thefloor obstacle based on the floor-reflected radio wave.

In one exemplary embodiment, the controller may detect a location of thefloor obstacle, based on a time difference between the floor-sensingradio wave and the floor-reflected radio wave.

In one exemplary embodiment, the controller may determine quality of amaterial of the floor of the space to be cleaned, based on a waveform ofthe floor-reflected radio wave.

A cleaning robot according to one aspect of the present invention iscapable of detecting a user's position by detecting the position of auser terminal using an ultra-wide band communication method andtriangulation.

A cleaning robot according to another aspect of the present invention iscapable of detecting the presence and position of an obstacle usingimpulse waves which are robust to external influences. Thus, anobstacle-sensing capability of the cleaning robot is hardly changed by achange in an external environment.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1 and 2 are drawings schematically illustrating an automaticcleaning system according to an exemplary embodiment.

FIG. 3 is a graph showing impulse signals output from a cleaning robotand a user terminal and frequency spectrums of the impulse signals,according to an exemplary embodiment.

FIG. 4 is a graph showing an impulse signal output from a cleaning robotand a reflection signal reflected from an obstacle, according to anexemplary embodiment.

FIG. 5 is a block diagram illustrating the flow of controlling acleaning robot according to an exemplary embodiment.

FIG. 6 is a block diagram of an obstacle sensing unit included in acleaning robot according to an exemplary embodiment.

FIG. 7 is a block diagram of a robot communication unit included in acleaning robot according to an exemplary embodiment.

FIG. 8 is a perspective view illustrating the exterior of a cleaningrobot according to an exemplary embodiment.

FIG. 9 is a bottom view illustrating a bottom surface of a cleaningrobot according to an exemplary embodiment.

FIG. 10 is a diagram illustrating detecting a distance to an obstacleusing an obstacle sensing unit included in a cleaning robot according toan exemplary embodiment.

FIG. 11 illustrates an example of a reflected signal detected using anobstacle sensing unit included in a cleaning robot according to anexemplary embodiment.

FIG. 12 illustrates a range of sensing waves emitted from afront-obstacle sensing module included in a cleaning robot according toan exemplary embodiment.

FIG. 13 is a diagram illustrating detecting the position of an obstacleusing a front-obstacle sensing module included in a cleaning robotaccording to an exemplary embodiment.

FIG. 14 is a diagram illustrating detecting the position of an obstacleusing a front-obstacle sensing module included in a cleaning robotaccording to another exemplary embodiment.

FIG. 15 is a diagram illustrating a range of sensing signals emittedfrom a floor-obstacle sensing module included in a cleaning robotaccording to an exemplary embodiment.

FIG. 16 is a diagram illustrating sensing the position of an obstacleusing a floor-obstacle sensing module included in a cleaning robotaccording to an exemplary embodiment.

FIG. 17 is a block diagram illustrating the flow of controlling a userterminal according to an exemplary embodiment.

FIG. 18 is a perspective view of the exterior of a user terminalaccording to an exemplary embodiment.

FIG. 19 is a flowchart of a method of detecting the position of a userterminal, the method performed by a cleaning robot, according to anexemplary embodiment.

FIG. 20 is a diagram illustrating detecting a distance between anultra-wide band (UWB) communication module and a user terminal,performed by a cleaning robot, according to an exemplary embodiment.

FIG. 21 is a diagram illustrating calculating the position of a userterminal, performed by a cleaning robot, according to an exemplaryembodiment.

FIG. 22 is a flowchart of a method of following a user terminal, themethod performed by a cleaning robot, according to an exemplaryembodiment.

FIG. 23 is a diagram illustrating moving of a cleaning robot to theposition of a user terminal according to an exemplary embodiment.

FIG. 24 is a flowchart of a method of performing cleaning whilefollowing a moving trajectory of a user terminal, the method performedby a cleaning robot, according to an exemplary embodiment.

FIG. 25 is a diagram illustrating performing cleaning while following amoving trajectory of a user terminal, performed by a cleaning robot,according to an exemplary embodiment.

FIG. 26 is a diagram illustrating moving of a cleaning robot to aposition indicated by a user terminal according to an exemplaryembodiment.

FIG. 27 is a flowchart of a method of detecting and following a physicalposition of a user U, the method performed by a cleaning robot,according to an exemplary embodiment.

FIG. 28 is a diagram illustrating detecting and following a physicalposition of a user U, performed by a cleaning robot, according to anexemplary embodiment.

FIG. 29 is a flowchart of a method of calculating the coordinates of acleaning robot relative to a beacon, the method performed by thecleaning robot, according to an exemplary embodiment.

FIG. 30 is a diagram illustrating calculating the coordinates of acleaning robot relative to a beacon, performed by the cleaning robot,according to an exemplary embodiment.

DETAILED DESCRIPTION

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings, wherein like referencenumerals refer to like elements throughout. The embodiments aredescribed below to explain the disclosure by referring to the figures.The exemplary embodiments described in the present specification andillustrated in the drawings are merely examples of the inventiondisclosed herein. It should be understood that various modified examplesthat replace the exemplary embodiments and drawings set forth hereinwould have been made at the filing date of the present application.

Hereinafter, automatic cleaning systems according to various exemplaryembodiments will be described in detail with reference to theaccompanying drawings.

FIGS. 1 and 2 are drawings schematically illustrating an automaticcleaning system according to an exemplary embodiment.

As illustrated in FIG. 1, an automatic cleaning system 1 includes acleaning robot 100 that cleans a space to be cleaned while drivingthrough the space, and a user terminal 200 that receives a manipulationcommand from a user and transmits the manipulation command to thecleaning robot 100 through wireless communication. Here, the userterminal 200 may employ either an exclusive remote control manufacturedto manipulate the cleaning robot 100 or a portable terminal configuredto establish voice communication and data communication with varioushome appliances through wireless communication.

The cleaning robot 100 may use ultra-wide band (UWB) radio waves todetect a position of the user terminal 200.

In detail, the cleaning robot 100 includes robot UWB communicationmodules 181 a, 181 b, and 181 c using UWB radio waves. Similarly, theuser terminal 200 includes a terminal UWB communication module 281 usingUWB radio waves. The robot UWB communication modules 181 a, 181 b, and181 c included in the cleaning robot 100 and the terminal UWBcommunication module 281 included in the user terminal 200 maycommunicate with one another.

Here, the cleaning robot 100 may detect the position of the userterminal 200, based on time differences between UWB radio-wave signalstransmitted from the robot UWB communication modules 181 a, 181 b, and181 c and a UWB radio-wave signal transmitted from the terminal UWBcommunication module 281. Also, the cleaning robot 100 may detect auser's position based on the position of the user terminal 200.

Also, the cleaning robot 100 may use a UWB to sense an obstacle thatinterrupts driving of the cleaning robot 100.

In detail, as illustrated in FIG. 2, the cleaning robot 1 transmits aUWB sensing radio wave toward a front direction or a floor of a space tobe cleaned, and detects the presence and position of an obstacle O basedon a UWB radio wave reflected and returned from the obstacle O.

UWB radio waves will now be described before the structures of thecleaning robot 100 and the user terminal 200 according to an exemplaryembodiment are described in detail.

FIG. 3 is a graph showing impulse signals output from a cleaning robotand a user terminal and frequency spectrums of the impulse signals,according to an exemplary embodiment. FIG. 4 is a graph showing animpulse signal output from a cleaning robot and a signal reflected froman obstacle, according to an exemplary embodiment.

A UWB communication method is a communication method using a bandwidththat is 25% or more of a center frequency as illustrated in FIG. 3(a).For example, a communication method using a bandwidth of 2.5 GHz or morewhen a center frequency is 10 GHz may be a UWB communication method. Inthe UWB communication method, impulse signals having a short timeduration of 1 ns (nano-second) or less as illustrated in FIG. 3(b) areused and carrier waves are not used.

In the UWB communication method, communication may be established bytransmitting a signal by dispersing the energy of the signal to a UWBwithout interfering with other communication systems, and establishedwith a small amount of power.

The UWB communication method is applicable to not only the field ofcommunication but also the field of radar. In particular, in the fieldof radar, the UWB communication method is applicable to a precisiongeo-location system capable of precisely performing position tracing innarrow spaces, e.g., indoor spaces, without a global positioning system(GPS) or the like.

In detail, as illustrated in FIG. 4(a), when an impulse signal outputfrom a UWB communication module meets an obstacle, a portion of theoutput impulse signal is reflected from the obstacle and the remainingportion thereof penetrates the obstacle. In an impulse signal used inthe UWB communication method, a property capable of penetrating anobstacle is available to the field of communication and a propertycapable of being reflected from an obstacle is applicable to the fieldof radar.

In particular, as illustrated in FIG. 4(b), in the field of radar, adistance to an obstacle may be measured using a time difference ΔTbetween an impulse signal output from a UWB communication module and asignal reflected from the obstacle. In detail, the distance to theobstacle may be calculated by multiplying a time difference between timewhen the impulse signal is output and time when the reflected signal isinput by the speed of radio waves and dividing the result of multiplyingthe time difference by the speed of radio waves by ‘2’.

The structures of the cleaning robot 100 and the user terminal 200 willbe described in detail below.

FIG. 5 is a block diagram illustrating the flow of controlling acleaning robot according to an exemplary embodiment. FIG. 6 is a blockdiagram of an obstacle sensing unit included in a cleaning robotaccording to an exemplary embodiment. FIG. 7 is a block diagram of arobot communication unit included in a cleaning robot according to anexemplary embodiment. FIG. 8 is a perspective view illustrating theexterior of a cleaning robot according to an exemplary embodiment. FIG.9 is a bottom view illustrating a bottom surface of a cleaning robotaccording to an exemplary embodiment.

Referring to FIGS. 5 to 9, a cleaning robot 100 includes a main body 101forming the exterior of the cleaning robot 100. The main body 101includes a robot manipulation unit 110 configured to receive amanipulation command regarding the cleaning robot 100 from a user, arobot display unit 120 that displays operational information of thecleaning robot 100 to the user, an obstacle sensing unit 140 that sensesan obstacle, a driving unit 150 that moves the cleaning robot 100, acleaning unit 160 that cleans a space to be cleaned, a robot storageunit 170 that stores a program and data for controlling an operation ofthe cleaning robot 100, a robot communication unit 180 that communicateswith the user terminal 200, etc., and a robot controller 190 thatcontrols an operation of the cleaning robot 100.

The robot manipulation unit 110 is provided on a top surface of the mainbody 101, and includes a plurality of manipulation buttons 111 via whicha manipulation command regarding the cleaning robot 100 is received froma user. The plurality of manipulation buttons 111 may include a powerbutton for controlling the cleaning robot 100 to be on/off; acleaning-mode selection button for selecting a cleaning mode, e.g., anautomatic cleaning mode, a manual cleaning mode, etc. of the cleaningrobot 100; an ‘operate/stop’ command button for instructing the cleaningrobot 100 to be operated or stopped; a ‘charge/return’ command buttonfor instructing the cleaning robot 100 to be returned to a chargingstation (not shown), etc. The plurality of manipulation buttons 111 mayemploy a micro-switch or a membrane switch for detecting pressureapplied by a user, a touch pad for detecting a user's touch, etc.

The robot display unit 120 is provided on the top surface of the mainbody 101, and includes a display panel 121 configured to displayoperational information of the cleaning robot 100 to a user. The displaypanel 121 may display the operational information of the cleaning robot100, e.g., current time, the state of a battery, a cleaning mode, etc.The display panel 121 may employ a liquid crystal display (LCD) panel ora light-emitting diode (LED) panel.

The obstacle sensing unit 140 may include a front-obstacle sensingmodule 141 which senses an obstacle in front of the main body 101, and afloor-obstacle sensing module 143 which senses an obstacle at a floor ofa space to be cleaned.

The front-obstacle sensing module 141 and the floor-obstacle sensingmodule 143 will be described in detail below.

The driving unit 150 includes a pair of driving wheels 151 and 153 formoving the cleaning robot 100, and a roller 155 for assisting movementof the cleaning robot 100.

The pair of driving wheels 151 and 153 are provided on left and rightedges of a bottom surface of the main body 101, and configured to causethe cleaning robot 100 to be moved forward or backward or to be rotated.For example, the cleaning robot 100 is moved forward when both of thepair of driving wheels 151 and 153 are rotated in a forward directionand is moved backward when both of the pair of driving wheels 151 and153 are rotated in a backward direction. When the pair of driving wheels151 and 153 are rotated at different speeds in the same direction, amoving direction of the cleaning robot 100 may be changed to a right orleft direction.

For example, if both of the left driving wheel 151 and the right drivingwheel 153 are rotated in the forward direction, the moving direction ofthe cleaning robot 100 may be changed to the left direction when therotation speed of the right driving wheel 153 is faster than that of theleft driving wheel 151, and may be changed to the right direction whenthe rotation speed of the left driving wheel 151 is faster than that ofthe right driving wheel 153. When the pair of driving wheels 151 and 153are rotated in different directions, the cleaning robot 100 may berotated at the same spot in the left or right direction.

The roller 155 is installed in the front of the bottom surface of themain body 101, and rotated according to the moving direction of thecleaning robot 100. The roller 155 enables the cleaning robot 100 tomaintain a stable posture.

The cleaning unit 160 includes a main brush 161 that scatters dust in aspace to be cleaned, a pair of side brushes 163 a and 163 b that guidethe dust in the space to be cleaned to be moved toward the main brush161, and a dust box 165 that sucks and stores the dust scattered by themain brush 161.

The main brush 161 is provided in a dust sucking hole 103 formed in thebottom surface of the main body 101, and configured to scatter dust in aspace to be cleaned into the dust sucking hole 103 while rotating abouta rotation shaft in a direction perpendicular to the moving direction ofthe main body 101.

The pair of side brushes 163 a and 163 b are installed on left and rightedges of the bottom surface of the main body 101. That is, the pair ofside brushes 163 a and 163 b are installed in front of the pair ofdriving wheels 151 and 153. The pair of side brushes 163 a and 163 bsweep dust in a space to be cleaned, which cannot be cleaned by the mainbrush 161, and guide the dust to be moved toward the main brush 161while rotating about a rotation shaft in a direction perpendicular tothe bottom surface of the main body 101. The pair of side brushes 163 aand 163 b may be configured to not only be rotated at the same spot butalso protrude to the outside of the cleaning robot 100, therebyexpanding a space to be cleaned by the cleaning robot 100.

The robot storage unit 170 may include not only a nonvolatile memory(not shown), such as a magnetic disc, a semiconductor disk (e.g., asolid state disk), etc., designed to permanently store a control programand control data for controlling an operation of the cleaning robot 100,but also a volatile memory (not shown), such as a DRAM, an SRAM, etc.,designed to temporarily store temporary data generated duringcontrolling of the operation of the cleaning robot 100.

The robot communication unit 180 may include a robot UWB communicationmodule 181 that communicates with the user terminal 200 using a UWBwireless communication method, and a robot data communication module 183that establishes data communication with the user terminal 200 or acharging station (not shown) using another wireless communicationmethod, e.g., wireless fidelity (W-Fi), Bluetooth, Zigbee, near-fieldcommunication (NFC), infrared communication, etc.

The robot UWB communication module 181 includes a first robot UWBcommunication module 181 a provided in the front of the top surface ofthe main body 101, a second robot UWB communication module 181 bprovided on a left side of the top surface of the main body 101, and athird robot UWB communication module 181 c provided on a right side ofthe top surface of the main body 101. The cleaning robot 100 maycommunicate with the user terminal 200 and detect the position of theuser terminal 200 via the robot UWB communication module 181.

The robot controller 190 controls the driving unit 150 and the cleaningunit 160 to clean a space to be cleaned while the main body 101 isdriving through the space, according to a manipulation command receivedfrom a user via the user terminal 200, the robot manipulation unit 110,or a voice input unit 130. In particular, the robot controller 190controls the robot communication unit 180 to cause the robot UWBcommunication module 181 to communicate with the user terminal 200, andcalculates the position of the user terminal 200 based on a timedifference between a transmitted signal and a received signal using therobot UWB communication module 181.

However, exemplary embodiments of the present invention are not limitedto calculating the position of the user terminal 200 based on the timedifference between the transmitted signal and the received signal,performed by the robot controller 190. For example, the position of theuser terminal 200 may be calculated by the user terminal 200 which willbe described below, based on the time difference between the transmittedsignal and the received signal.

The obstacle sensing unit 140 of the cleaning robot 100 will now bedescribed below.

FIG. 10 is a diagram illustrating detecting a distance to an obstacleusing an obstacle sensing unit included in a cleaning robot according toan exemplary embodiment. FIG. 11 illustrates an example of a reflectedsignal detected by an obstacle sensing unit included in a cleaning robotaccording to an exemplary embodiment.

As illustrated in FIG. 10, the obstacle sensing unit 140 included in thecleaning robot 100 outputs sensing radio waves. The sensing radio wavesmay be UWB radio waves.

Some of the sensing radio waves output from the obstacle sensing unit140 may penetrate an obstacle O, and the remaining sensing radio wavesmay be reflected from the obstacle O and returned to the obstaclesensing unit 140.

The obstacle sensing unit 140 may receive the radio waves reflected fromthe obstacle O and analyze the reflected radio waves to calculate thedistance to the obstacle O.

For example, when the obstacle O is not present, the obstacle sensingunit 140 may receive an interference signal occurring near the cleaningrobot 100. Thus, the obstacle sensing unit 140 may continuously receivesignals having a comparatively regular intensity as illustrated in FIG.11(a).

When the obstacle O is present, the obstacle sensing unit 140 mayreceive reflected radio waves in the form of a pulse having highamplitude as illustrated in FIG. 11(b). In this case, when the intensityof the reflected radio waves received by the obstacle sensing unit 140are equal to or greater than a reference value, a maximum value of areceived signal may be detected and a time during which the maximumvalue is detected may be determined as a reflected-signal sensing timeΔT.

As described above, when the obstacle O is present, the amplitude,phase, frequency, etc. of the reflected radio waves received by theobstacle sensing unit 140 may change. In other words, the obstaclesensing unit 140 may sense a change in the phase or frequency of sensingradio waves after the obstacle sensing unit 140 transmits the sensingradio waves. In this case, the obstacle sensing unit 140 may determine atime during which the change in the phase or frequency of the sensingradio waves occurs as the reflected-signal sensing time ΔT.

When the reflected-signal sensing time ΔT is calculated, the robotcontroller 190 of the cleaning robot 100 may calculate the distancebetween the obstacle sensing unit 140 and the obstacle O, based on thereflected-signal sensing time ΔT. In detail, the robot controller 190may calculate the distance from the obstacle sensing unit 140 to theobstacle O by dividing the product of the reflected-signal sensing timeΔT and the speed of radio waves (e.g., 300,000 Km/s) by ‘2’.

The obstacle sensing unit 140 included in the cleaning robot 1 accordingto an exemplary embodiment calculates the distance between the obstaclesensing unit 140 and the obstacle O using a time-of-fight (TOF), i.e., atime difference between a sensing radio wave and a reflected radio wave,but exemplary embodiments of the present invention are not limitedthereto.

For example, the obstacle sensing unit 140 may calculate the distancebetween the obstacle sensing unit 140 and the obstacle O, based on theamount of the energy of the reflected radio wave. That is, the obstaclesensing unit 140 may detect the amount of the energy of a reflectedsignal based on a decrease in the amount of the energy of the reflectedradio wave according to the distance, and calculate a distancecorresponding to the detected amount of the energy.

As described above, the obstacle sensing unit 140 configured tocalculate the distance to the obstacle O using the time differencebetween the sensing radio wave and the reflected radio wave may includethe front-obstacle sensing module 141 that senses an obstacle O locatedin front of the cleaning robot 100, and the floor-obstacle sensingmodule 143 that senses an obstacle O located at a floor of a space to becleaned.

The front-obstacle sensing module 141 and the floor-obstacle sensingmodule 143 will now be described below.

The front-obstacle sensing module 141 may sense a front obstacle that islocated in the front of the cleaning robot 100 and interrupts movementof the cleaning robot 100. Here, the front obstacle O that may be sensedby the front-obstacle sensing module 141 may be furniture, a wall, etc.which is located at location higher than the height of the main body101.

FIG. 12 illustrates a range of sensing waves emitted from afront-obstacle sensing module included in a cleaning robot according toan exemplary embodiment. In detail, FIG. 12(a) illustrates a sensingrange A in a direction parallel to a floor of a space to be cleaned, andFIG. 12(b) illustrates a sensing range B in a direction perpendicular tothe floor of the space to be cleaned.

The front-obstacle sensing module 141 may include at least two frontradar sensors to detect the position of a front obstacle O. For example,the front-obstacle sensing module 141 may include three front radarsensors 141 a, 141 b, and 141 c as illustrated in FIG. 10. The threefront radar sensors 141 a, 141 b, and 141 c may be arranged in the frontof the main body 101 at predetermined intervals D.

Each of the front radar sensors 141 a, 141 b, and 141 c may transmit asensing radio wave in the front direction and receive a radio wavereflected from the front obstacle O.

Also, as illustrated in FIG. 12(a), each of the front radar sensors 141a, 141 b, and 141 c may output a sensing radio wave which is widelyspread in the direction parallel to the floor of the space to becleaned. In this case, a range of emitting the sensing radio wave may bea range of about 180 to 220 degrees.

Also, regions to which the three front radar sensors 141 a, 141 b, and141 c transmit sensing signals overlap each other to form a sensingregion A. The sensing region A is a region in which the front-obstaclesensing module 141 may detect location information of the front obstacleO.

As illustrated in FIG. 12(b), a sensing radio wave output from each ofthe front radar sensors 141 a, 141 b, and 141 c is narrow in thedirection perpendicular to the floor of the space to be cleaned. Forexample, diffusion of the sensing radio wave in upward and downwarddirections is limited by a shade 141 a-1 installed on the first frontradar sensor 141 a, so that the cleaning robot 1 may not sense thebottom of a bed, the bottom of a sofa, etc. as an obstacle.

FIG. 13 is a diagram illustrating detecting the position of an obstacleusing a front-obstacle sensing module included in a cleaning robotaccording to an exemplary embodiment.

FIG. 14 is a diagram illustrating detecting the position of an obstacleusing a front-obstacle sensing module included in a cleaning robotaccording to another embodiment.

The front obstacle sensing unit 140 may include three front radarsensors 141 a, 141 b, and 141 c as illustrated in FIG. 13.

When the front-obstacle sensing module 141 includes the three frontradar sensors 141 a, 141 b, and 141 c as illustrated in FIG. 13, thefront-obstacle sensing module 141 may detect distances d1, d2, and d3between the three front radar sensors 141 a, 141 b, and 141 c and afront obstacle O.

For example, in the front-obstacle sensing module 141, the three frontradar sensors 141 a, 141 b, and 141 c emit sensing radio waves atpredetermined time intervals and detect radio waves reflected from thefront obstacle O to detect the distances d1, d2, and d3 between thethree front radar sensors 141 a, 141 b, and 141 c and the front obstacleO.

In detail, the first front radar sensor 141 a may emit a sensing radiowave and detect a reflected radio wave to detect the first distance d1.The second front radar sensor 141 b may emit a sensing radio wave anddetect a reflected radio wave to detect the second distance d2. Also,the third front radar sensor 141 c may emit a sensing radio wave anddetect a reflected radio wave to detect the third distance d3.

When the distances d1, d2, and d3 between the front radar sensors 141 a,141 b, and 141 c and the front obstacle O are detected, the cleaningrobot 100 may calculate the position of the front obstacle O by applyingto triangulation a distance D among the front radar sensors 141 a, 141b, and 141 c and the distances d1, d2, and d3 between the three frontradar sensors 141 a, 141 b, and 141 c and the front obstacle O.

The triangulation is a technique well known to technicians of ordinaryskill and is thus not described in detail here.

The front-obstacle sensing module 141 includes the three front radarsensors 141 a, 141 b, and 141 c to detect location information of thefront obstacle O but is not limited thereto. That is, the front-obstaclesensing module 141 may include one or two front radar sensors or mayinclude four or more front radar sensors.

The front obstacle sensing unit 140 may include two front radar sensorsas 141 d and 141 e illustrated in FIG. 14.

When the front-obstacle sensing module 141 includes the two front radarsensors 141 d and 141 e as illustrated in FIG. 14, the front-obstaclesensing module 141 may detect distances d4 and d5 between the two frontradar sensors 141 d and 141 e and a front obstacle O.

For example, in the front-obstacle sensing module 141, the two frontradar sensors 141 d and 141 e may emit sensing radio waves atpredetermined time intervals and detect radio waves reflected from thefront obstacle O to detect the distances d4 and d5 between the two frontradar sensors 141 d and 141 e and the front obstacle O.

When the distances d4 and d5 between the two front radar sensors 141 dand 141 e and the front obstacle O are detected, the cleaning robot 100may calculate the position of the front obstacle O by applying totriangulation a distance D between the front radar sensors 141 d and 141e and the distances d4 and d5 between the two front radar sensors 141 dand 141 e and the front obstacle O.

The floor-obstacle sensing module 143 may sense a floor obstacle O whichinterrupts movement of the cleaning robot 100 at a floor of a space tobe cleaned. Here, the floor obstacle O that may be sensed by thefloor-obstacle sensing module 143 may be a door sill, wire, etc. whichis located at a location lower than the height of the main body 101. Thefloor obstacle O such as a door sill, wire, etc. is located at thelocation lower than the height of the main body 101 and may be thus notsensed by the front-obstacle sensing module 141.

As described above, the front-obstacle sensing module 141 emits asensing radio wave having a limited vertical emission angle in front ofthe main body 101, and receives a radio wave reflected from the frontobstacle O.

In contrast, the floor-obstacle sensing module 143 emits a sensing radiowave toward the floor of the space to be cleaned and receives a radiowave reflected from the floor obstacle O. The cleaning robot 100 maysense the floor obstacle O (e.g., wire, a door sill, etc.) located onthe floor of the space and detect the distance d to the floor obstacle Ousing the floor-obstacle sensing module 143.

Also, the cleaning robot 100 may determine the quality of a material ofthe floor of the space, based on the waveform of a reflected radio wavereceived by the floor-obstacle sensing module 143.

FIG. 15 is a diagram illustrating a range of sensing signals emittedfrom a floor-obstacle sensing module included in a cleaning robotaccording to an exemplary embodiment. FIG. 16 is a diagram illustratingsensing the position of an obstacle using a floor-obstacle sensingmodule included in a cleaning robot according to an exemplaryembodiment.

As illustrated in FIGS. 15 and 16, the floor-obstacle sensing module 143may include a floor radar sensor 143 a provided in the front of the mainbody 101. The floor radar sensor 143 a may emit a sensing radio wavetoward a floor of a space to be cleaned to detect an obstacle on thefloor of the space.

The floor radar sensor 143 a is provided on a lower portion of the frontof the main body 101 but is not limited thereto, and the positionthereof is not limited provided that the floor radar sensor 143 a canemit a sensing signal toward a floor of the front of the main body 101.

The floor radar sensor 143 a emits a sensing radio wave toward the floorof a space to be cleaned and detects a signal reflected from a floorobstacle O present on the floor of the space. When the reflected signalis detected, the floor radar sensor 143 a may detect a time differencebetween time when the sensing radio wave is emitted and time when thereflected signal is received (hereinafter referred to as a‘reflected-signal sensing time’).

When the floor radar sensor 143 a detects the reflected-signal sensingtime, the cleaning robot 100 may calculate a distance d from the floorradar sensor 143 a to the floor obstacle O based on the reflected-signalsensing time, and calculate the distance to the floor obstacle O basedon the distance d.

Also, the cleaning robot 100 may determine the shape of the floorobstacle O and whether the floor of the space to be cleaned is ahard-material floor (e.g., a wooden floor) or a soft-material floor(e.g., a floor covered with a carpet, etc.), based on the waveform of areflected radio wave received by the floor radar sensor 143 a.

As described above, the cleaning robot 100 may not only detect thepresence and location information of an obstacle O (e.g., wire, a doorsill, etc.) located on a floor of a space to be cleaned but alsodetermine a material of the floor of the space to be cleaned by usingthe floor radar sensor 143 a included in the floor-obstacle sensingmodule 143.

As described above, the obstacle sensing unit 140 may detect thepresence and position of an obstacle O using UWB radio waves butexemplary embodiments of the present invention are not limited thereto.

For example, the obstacle sensing unit 140 may include a plurality ofinfrared sensor modules that emit infrared rays and measure theintensity of infrared rays reflected from an obstacle to detect thepresence of the obstacle and the distance to the obstacle.

The main body 101 may determine the position of an obstacle byinstalling the plurality of infrared sensor modules on the front, leftand right sides of the main body 101 at predetermined intervals. Inother words, an obstacle may be determined to be located in front of thecleaning robot 100 when the obstacle is sensed by an infrared sensormodule provided on the front of the main body 101, and determined to belocated to a right side of the cleaning robot 100 when the obstacle issensed by an infrared sensor module provided on the right side of themain body 101.

The obstacle sensing unit 140 may further include a camera module, asound wave sensor module, etc.

The structure of the user terminal 200 will be described below.

FIG. 17 is a block diagram illustrating the flow of controlling a userterminal according to an exemplary embodiment. FIG. 18 is a perspectiveview of the exterior of a user terminal according to an exemplaryembodiment.

Referring to FIGS. 17 and 18, the user terminal 200 includes a main body201 forming the exterior of the user terminal 200. The main body 201includes a terminal manipulation unit 210 configured to receive amanipulation command from a user, a terminal storage unit 270 thatstores a program and data for controlling the user terminal 200, aterminal communication unit 280 that communicates with the cleaningrobot 100, etc., and a terminal controller 290 that controls anoperation of the user terminal 200.

The terminal manipulation unit 210 includes a plurality of manipulationbuttons 211 provided on a top surface of the main body 201 andconfigured to receive a manipulation command related to the cleaningrobot 100 from a user. The plurality of manipulation buttons 211 mayinclude a power button for controlling the cleaning robot 100 to beon/off; a cleaning-mode selection button for selecting a cleaning mode,e.g., an automatic cleaning mode, a manual cleaning mode, etc. of thecleaning robot 100; an ‘operate/stop’ command button for instructing thecleaning robot 100 to be operated or stopped; a ‘charge/return’ commandbutton for instructing the cleaning robot 100 to be returned to acharging station (not shown); a manual driving manipulation button formanually manipulating driving of the cleaning robot 100, etc. Theplurality of manipulation buttons 211 may employ a micro-switch or amembrane switch for detecting pressure applied by a user, a touch padfor detecting the user's touch, etc.

The terminal storage unit 270 may include not only a nonvolatile memory(not shown), such as a magnetic disc, a semiconductor disk (e.g., asolid state disk), etc., which permanently stores a control program andcontrol data for controlling an operation of the user terminal 200, butalso a volatile memory (not shown), such as a DRAM, an SRAM, etc., whichtemporarily stores temporary data generated during controlling of theoperation of the user terminal 200.

The terminal communication unit 280 may include the terminal UWBcommunication module 281 that communicates with the cleaning robot 100according to a UWB wireless communication method. However, exemplaryembodiments of the present invention are not limited thereto, and theterminal communication unit 280 may include a terminal datacommunication module (not shown) that establishes wireless communicationaccording to a wireless communication method using W-Fi, Bluetooth,Zigbee, NFC, etc.

The terminal controller 290 transmits a manipulation command receivedfrom a user via the terminal manipulation unit 210 to the cleaning robot100 via the terminal communication unit 280. In particular, when acleaning robot call command is received from a user via the terminalmanipulation unit 210, the terminal controller 290 controls the terminalcommunication unit 280 to transmit the cleaning robot call command tothe cleaning robot 100. Also, the terminal controller 290 may calculatethe position of the user terminal 200 using a time difference between atransmitted signal and a received signal.

The user terminal 200 according to an exemplary embodiment is embodiedas an exclusive remote control manufactured to manipulate the cleaningrobot 100 but is not limited thereto. A general-purpose portableterminal capable of establishing voice communication and datacommunication with various home appliances through wirelesscommunication may be employed as the user terminal 200. In particular,when such a general-purpose portable terminal is employed, the portableterminal may be controlled to function as the user terminal 200 byinstalling an additional program in the portable terminal to manipulateand communicate with the cleaning robot 100.

The structures of the cleaning robot 100 and the user terminal 200according to an exemplary embodiment have been described above.

Operations of the cleaning robot 100 and the user terminal 200 accordingto an exemplary embodiment will be described below.

When a user U calls the cleaning robot 100, the cleaning robot 100 maydetect the position of the user terminal 200 that the user U carrieswith him/herself and then move to the user U. When the user U instructsthe cleaning robot 100 to follow the user U, the cleaning robot 100 maydetect the position of the user terminal 200 that the user U carrieswith him/herself and follow the user U. When the user U instructs thecleaning robot 100 to perform manual cleaning, the cleaning robot 100may clean a space to be cleaned while moving along a trajectory of theuser terminal 200. When the user U designates a position to be cleanedusing the user terminal 200, the cleaning robot 100 may move to thedesignated position.

First, detecting of the user U's position, performed by the cleaningrobot 100, will be described below.

FIG. 19 is a flowchart of a method of detecting the position of a userterminal, the method performed by a cleaning robot, according to anexemplary embodiment. FIG. 20 is a diagram illustrating detecting adistance between a UWB communication module and a user terminal,performed by a cleaning robot, according to an exemplary embodiment.FIG. 21 is a diagram illustrating calculating the position of a userterminal, performed by a cleaning robot, according to an exemplaryembodiment.

Referring to FIGS. 19 to 21, a cleaning robot 100 determines whether acalling command is received from a user (operation S510).

In detail, the cleaning robot 100 determines whether a user's callingcommand is received from a user terminal 200. When the user does notknow the position of the cleaning robot 100, the user may input thecalling command to the cleaning robot 100 via the user terminal 200. Thecalling command is transmitted from the user terminal 200 to thecleaning robot 100 via a terminal UWB communication module 281 of theuser terminal 200 and a robot UWB communication module 181 of thecleaning robot 100 as illustrated in FIG. 20.

When it is determined that the calling command is received (when ‘Yes’in operation S510), the cleaning robot 100 transmits a positiondetecting signal to the user terminal 200 (operation S515).

In detail, as illustrated in FIG. 20, the cleaning robot 100 transmitsthe position detecting signal to the user terminal 200 via at least oneamong first to third robot UWB communication modules 181 a, 181 b, and181 c.

Next, the cleaning robot 100 determines whether a response signal isreceived from the user terminal 200 (operation S520).

When the position detecting signal is received via the terminal UWBcommunication module 281, the user terminal 200 transmits the responsesignal to the cleaning robot 100 via the terminal UWB communicationmodule 281. The cleaning robot 100 determines whether the responsesignal is received.

When it is determined that the response signal is received (when ‘Yes’in operation S520), the cleaning robot 100 calculates the distancesbetween the robot UWB communication modules 181 a, 181 b, and 181 c ofthe cleaning robot 100 and the terminal UWB communication module 281 ofthe user terminal 200 (operation S525).

In detail, the cleaning robot 100 may calculate the distances betweenthe robot UWB communication modules 181 a, 181 b, and 181 c of thecleaning robot 100 and the terminal UWB communication module 281 of theuser terminal 200, based on a time difference between time when theposition detecting signal is transmitted to the user terminal 200 andtime when the response signal is received from the user terminal 200.

The cleaning robot 100 may calculate the distances between the first tothird robot UWB communication modules 181 a, 181 b, and 181 c and theterminal UWB communication module 281 by subtracting a time during whichthe user terminal 200 receives the position detecting signal andtransmits the response signal from the time difference between theposition detecting signal and the response signal, multiplying a resultof the subtraction by the speed of radio waves, and dividing a result ofthe multiplication by ‘2’.

In order to calculate the distances between the first to third robot UWBcommunication modules 181 a, 181 b, and 181 c and the terminal UWBcommunication module 281, the cleaning robot 100 may calculate thedistances by controlling the first to third robot UWB communicationmodules 181 a, 181 b, and 181 c to simultaneously transmit positiondetecting signals. Alternatively, the cleaning robot 100 maysequentially calculate the distances by sequentially controlling thefirst robot UWB communication module 181 a, the second robot UWBcommunication module 181 b, and the third robot UWB communication module181 c to transmit position detecting signals.

As described above, as illustrated in FIG. 20, the cleaning robot 100may calculate a first distance A between the first robot UWBcommunication module 181 a and the terminal UWB communication module281, a second distance B between the second robot UWB communicationmodule 181 b and the terminal UWB communication module 281, and a thirddistance C between the third robot UWB communication module 181 c andthe terminal UWB communication module 281.

After the first distance A, the second distance B, and the thirddistance C are calculated, the cleaning robot 100 detects a position ofthe user terminal 200 using triangulation (operation S530).

In other words, the cleaning robot 100 calculates the coordinates of theuser terminal 200 in a coordinate system (in which the position of thecleaning robot 100 is set as an origin) using triangulation. In detail,the cleaning robot 100 calculates the coordinates of the user terminal200 by substituting the first distance A, the second distance B, and thethird distance C into Equations 1, 2, and 3 below.

$\begin{matrix}{{X\; 1} = \frac{{- A^{2}} + C^{2}}{2\; a}} & \left\lbrack {{Equation}\mspace{14mu} 1} \right\rbrack\end{matrix}$

(In Equation 1, ‘X1’denotes an X-axis coordinate of a user terminal, ‘A’denotes a first distance between a first robot UWB communication moduleand a terminal UWB communication module, ‘B’ denotes a second distancebetween a second robot UWB communication module and the terminal UWBcommunication module, ‘C’ denotes a third distance between a third robotUWB communication module and the terminal UWB communication module, and‘a’ denotes a distance between the first to third robot UWBcommunication modules.)

$\begin{matrix}{{Y\; 1} = \frac{A^{2} - {2B^{2}} + C^{2}}{2\sqrt{3}a}} & \left\lbrack {{Equation}\mspace{14mu} 2} \right\rbrack\end{matrix}$

(In Equation 2, ‘Y1’ denotes a Y-axis coordinate of the user terminal,‘A’ denotes the first distance between the first robot UWB communicationmodule and the terminal UWB communication module, ‘B’ denotes the seconddistance between the second robot UWB communication module and theterminal UWB communication module, ‘C’ denotes the third distancebetween the third robot UWB communication module and the terminal UWBcommunication module, and ‘a’ denotes the distance between the first tothird robot UWB communication modules.)

$\begin{matrix}{{Z\; 1} = \frac{\sqrt{\begin{matrix}{{A^{2}B^{2}} + {B^{2}C^{2}} + {C^{2}A^{2}} + {a^{2}\left( {A^{2} + B^{2} + C^{2}} \right)} -} \\{A^{4} - B^{4} - C^{4} - a^{4}}\end{matrix}}}{\sqrt{3}a}} & \left\lbrack {{Equation}\mspace{14mu} 3} \right\rbrack\end{matrix}$

(In Equation 3, ‘Z1’ denotes a Z-axis coordinate of the user terminal,‘A’ denotes the first distance between the first robot UWB communicationmodule and the terminal UWB communication module, ‘B’ denotes the seconddistance between the second robot UWB communication module and theterminal UWB communication module, ‘C’ denotes the third distancebetween the third robot UWB communication module and the terminal UWBcommunication module, and ‘a’ denotes the distance between the first tothird robot UWB communication modules.)

As described above, the cleaning robot 100 may calculate the position ofthe user terminal 200 using a time difference between a positiondetecting signal and a response signal and using triangulation, anddetect the user's position based on the position of the user terminal200.

When the user's position is detected, the cleaning robot 100 may move tothe user's position.

In the cleaning robot 100 and the user terminal 200 according to anexemplary embodiment, the cleaning robot 100 transmits a positiondetecting signal and the user terminal 200 transmits a response signalto detect the position of the user terminal 200, but exemplaryembodiments are not limited thereto. For example, the user terminal 200may transmit the position detecting signal, the cleaning robot 100 maytransmit the response signal, and the user terminal 200 may calculatethe coordinates thereof and transmit the coordinates to the cleaningrobot 100.

Next, following the user U by the cleaning robot 100 will be describedbelow.

FIG. 22 is a flowchart of a method of following a user terminal, themethod performed by a cleaning robot, according to an exemplaryembodiment. FIG. 23 is a diagram illustrating moving of a cleaning robotto the position of a user terminal according to an exemplary embodiment.

Referring to FIGS. 22 and 23, a cleaning robot 100 determines whether a‘follow’ command is input from a user (operation S610).

In detail, the cleaning robot 100 determines whether a user's callingcommand is received from the user terminal 200. When the user wants tofirst clean a specific location in a space to be cleaned, the user mayinput the ‘follow’ command to the cleaning robot 100 via the userterminal 200. The ‘follow’ command is transmitted from the user terminal200 to the cleaning robot 100 via the UWB communication module 181 or281 or the robot data communication module 183.

When it is determined that the ‘follow user’ command is received (when‘Yes’ in operation S610), the cleaning robot 100 detects the position ofa user U (operation S615).

Since the user U carries the user terminal 200 with him/herself, thecleaning robot 100 may detect the user U's position by detecting theposition of the user terminal 200 according to the method illustrated inFIGS. 19 to 21.

After the user U's position is detected, the cleaning robot 100 moves tothe position of the user terminal 200 (operation S620).

The cleaning robot 100 calculates a shortest route to the position ofthe user terminal 200 and moves along the shortest route as illustratedin FIG. 23.

When an obstacle is sensed while the cleaning robot 100 moves along thecalculated shortest route, the cleaning robot 100 may move along theoutline of the obstacle. When the obstacle is not located in a directiontoward the user terminal 200 while the cleaning robot 100 moves alongthe obstacle, the cleaning robot 100 may calculate another shortestroute to the user terminal 200 and move along the other calculatedshortest route.

Then, the cleaning robot 100 determines whether a distance between thecleaning robot 100 and the user terminal 200 is less than or equal to areference distance (operation S625).

The distance between the user terminal 200 and the cleaning robot 100may be equal to a distance between any one robot UWB communicationmodule 181 among two or more robot UWB communication modules 181 a, 181b, and 181 c included in the cleaning robot 100 and the user terminal200. Also, the distance to the user terminal 200 may be calculated basedon the coordinates of the user terminal 200.

The cleaning robot 100 may compare the distance between the cleaningrobot 100 and the user terminal 200 calculated as described above withthe reference distance.

When it is determined that the distance between the cleaning robot 100and the user terminal 200 is greater than the reference distance (when‘No’ in operation S625), the cleaning robot 100 may detect the positionof the user terminal 200 and move to the position of the user terminal200.

When it is determined that the distance between the cleaning robot 100and the user terminal 200 is less than or equal to the referencedistance (when ‘Yes’ in operation S625), the driving of the cleaningrobot 100 ends (operation S630).

After the driving of the cleaning robot 100 ends, the cleaning robot 100determines whether the distance between the cleaning robot 100 and theuser terminal 200 is greater than the reference distance (operationS635).

When the user U moves again after the cleaning robot 100 accesses theuser U, the cleaning robot 100 should access the user U again and thusdetermines whether the distance between the cleaning robot 100 and theuser terminal 200 is greater than the reference distance.

When it is determined that the distance between the cleaning robot 100and the user terminal 200 is greater than the reference distance (when‘Yes’ in operation S635), the cleaning robot 100 detects the position ofthe user terminal 200 and moves to the position of the user terminal200.

Following the user U by the cleaning robot 100 as described above isrepeatedly performed until the user U inputs an ‘end follow’ command.

According to an exemplary embodiment, the cleaning robot 100 determineswhether it accesses the user U, based on the distance between thecleaning robot 100 and the user terminal 200, but exemplary embodimentsof the present invention are not limited thereto and the coordinates ofthe user terminal 200 may be controlled to be in a specific range. Forexample, the cleaning robot 100 may move such that the user terminal 200is located at the coordinates (X2±α, Y2±α, Z2).

Next, a manual cleaning method of cleaning a space to be cleaned whilemoving along a trajectory of the user terminal 200, the method performedby the cleaning robot 100, will be described below.

FIG. 24 is a flowchart of a method of performing cleaning whilefollowing a moving trajectory of a user terminal, performed by acleaning robot, according to an exemplary embodiment. FIG. 25 is adiagram illustrating performing cleaning while following a movingtrajectory of a user terminal, performed by a cleaning robot, accordingto an exemplary embodiment.

Referring to FIGS. 24 and 25, a cleaning robot 100 determines whether amanual cleaning command is input from a user (operation S710).

In detail, the cleaning robot 100 may determine whether the manualcleaning command is input from the user via the user terminal 200.

When the user wants to manually clean a specific location in a space tobe cleaned, the user may input the manual cleaning command to thecleaning robot 100 via the user terminal 200. The manual cleaningcommand is transmitted from the user terminal 200 to the cleaning robot100 via the UWB communication module 181 or 281 or the robot datacommunication module 183.

When it is determined that the manual cleaning command is received (when‘Yes’ in operation S710), the cleaning robot 100 detects the position ofthe user U (operation S715).

In detail, since the user U carries the user terminal 200 withhim/herself, the cleaning robot 100 may detect the user U's position bydetecting the position of the user terminal 200 according to the methodillustrated in FIGS. 19 to 21.

After the position of the user terminal 200 is detected, the cleaningrobot 100 moves to a predetermined position of the user terminal 200(operation S720).

For example, as illustrated in FIG. 25(a), the cleaning robot 100 maymove directly below the user terminal 200 or such that the position ofthe user terminal 200 has specific coordinates.

Thereafter, the cleaning robot 100 determines whether the user terminal200 is moved (operation S725).

In order to intensively clean the specific location in the space to becleaned, the user may move the user terminal 200 in forward and backwarddirections. The cleaning robot 100 may sense movement of the userterminal 200 by periodically detecting the position of the user terminal200.

When the movement of the user terminal 200 is sensed (when ‘Yes’ inoperation S725), the cleaning robot 100 detects a moving direction andspeed of the user terminal 200 (operation S730).

In detail, the cleaning robot 100 may detect the moving direction andspeed of the user terminal 200 by periodically detecting the position ofthe user terminal 200 and comparing the detected position with apreviously detected position of the user terminal 200.

Thereafter, the cleaning robot 100 moves according to the detectedmoving direction and speed of the user terminal 200 (operation S735).

In detail, the cleaning robot 100 rotates in the moving direction of theuser terminal 200 as illustrated in FIG. 25(b), and moves by adisplacement by which the user terminal 200 moves and at the movingspeed of the user terminal 200 as illustrated in FIG. 25(c).

In this case, the cleaning robot 100 cleans the space to be cleaned byoperating the main brush 161 and the side brushes 163 a and 163 billustrated in FIG. 9 of the cleaning unit 160 (see FIG. 5).

Then, the cleaning robot 100 determines whether the movement of the userterminal 200 is stopped (operation S740).

When it is determined that the movement of the user terminal 200 isstopped (when ‘Yes’ in operation S740), the cleaning robot 100 stops themovement thereof (operation S745).

In other words, when the cleaning of the specific location is endedduring the manual cleaning and the user stops the movement of the userterminal 200, the cleaning robot 100 stops moving along the trajectoryof the user terminal 200.

When it is determined that the movement of the user terminal 200 is notstopped (when ‘No’ in operation S740), the cleaning robot 100 repeatedlydetects a moving direction and displacement of the user terminal 200 andmoves along a moving trajectory of the user terminal 200.

Then, the cleaning robot 100 determines whether the user terminal 200 ismoved (operation S725).

Also, when the cleaning robot 100 detects an obstacle during followingof the user terminal 200, the cleaning robot 100 may transmitinformation related to the obstacle to the user terminal 200.

In detail, when movement of the cleaning robot 100 is interrupted by theobstacle, the cleaning robot 100 may transmit a ‘can't follow’ signal tothe user terminal 200 and the user terminal 200 receiving the ‘can'tfollow’ signal may warn the user of the fact that the movement of thecleaning robot 100 is interrupted by the obstacle using vibration,sound, etc.

Also, while the cleaning robot 100 follows the user terminal 200, thecleaning robot 100 may transmit information related to the moving speedof the cleaning robot 100 to the user terminal 200.

In detail, when the moving speed of the user terminal 200 is equal to orgreater than a reference speed, the cleaning robot 100 may transmit the‘can't follow’ signal to the user terminal 200 and the user terminal 200receiving the ‘can't follow’ signal may warn the user of the fact thatthe user's moving speed exceeds the reference speed using vibration,sound, etc.

As described above, the user may be allowed to recognize informationrelated to the movement of the cleaning robot 100 by transmitting theinformation related to the movement of the cleaning robot 100 to theuser terminal 200 while the cleaning robot 100 follows the user terminal200.

FIG. 26 is a diagram illustrating moving of a cleaning robot to aposition indicated by a user terminal according to an exemplaryembodiment. In detail, FIG. 26 is a diagram illustrating recognizing aposition designated by a user, performed by a cleaning robot 100,according to an exemplary embodiment.

In detail, the user may input a first designated-position cleaningcommand in a state in which a user terminal 200 faces the cleaning robot100, and input a second designated-position cleaning command in a statein which the user terminal 200 faces a designated position.

For example, the user may press a designated-position cleaning button ina state in which the user terminal 200 faces the cleaning robot 100, andmay stop pressing the designated-position cleaning button in a state inwhich the user terminal 200 faces a designated position P3.

When the first designated-position cleaning command is input from theuser, the user terminal 200 transmits the first designated-positioncleaning command to the cleaning robot 100.

Also, the cleaning robot 100 receiving the first designated-positioncleaning command calculates the coordinates (X1, Y1, Z1) of a firstposition P1 representing a position of the user terminal 200 when thefirst designated-position cleaning command is input. In detail, thecleaning robot 100 may calculate the coordinates (X1, Y1, Z1) of thefirst position P1 of the user terminal 200 using the robot UWBcommunication module 181.

When the first position P1 of the user terminal 200 is calculated, thecleaning robot 100 may rotate such that the front of the cleaning robot100 faces the user terminal 200.

When the second designated-position cleaning command is input from theuser, the user terminal 200 provides the cleaning robot 100 with postureinformation of the user terminal 200 together with the seconddesignated-position cleaning command. In order to detect the postureinformation of the user terminal 200, the user terminal 200 may furtherinclude a gyro sensor that senses rotational acceleration and anacceleration sensor that senses linear acceleration.

As illustrated in FIG. 26, the posture information of the user terminal200 may include an indicative angle θ1 representing a directionindicating a designated position by the user terminal 200 relative to avertical direction, and a rotation angle θ2 representing an anglebetween a direction indicating the cleaning robot 100 by the userterminal 200 and the direction indicating the designated position by theuser terminal 200.

The cleaning robot 100 receiving the second designated-position cleaningcommand calculates the coordinates (X2, Y2, Z2) of a second position P2representing a position of the user terminal 200 when the seconddesignated-position cleaning command is input.

Thereafter, the cleaning robot 100 may calculate the coordinates (X3,Y3, Z3) of the designated position P3, based on the coordinates (X2, Y2,Z2) of the second position P2 of the user terminal 200 and the postureinformation (θ1, θ2) of the user terminal 200.

In detail, the cleaning robot 100 may calculate the coordinates (X3, Y3,Z3) of the designated position P3 using Equations 4 to 6 below.

$\begin{matrix}{{D = \frac{Z\; 2}{\cos \; \theta \; 1}}{E = {D \times {\cos \left( {\frac{\pi}{2} - {\theta \; 1}} \right)}}}} & \left\lbrack {{Equation}\mspace{14mu} 4} \right\rbrack\end{matrix}$

(In Equation 4, ‘D’ denotes a distance between the second position andthe designated position, ‘E’ denotes a distance between a projectionposition obtained by projecting the second position upon the ground andthe designated position, ‘Z2’ denotes a Z-axis coordinate of the secondposition, and ‘θ1’ denotes an indicative angle representing thedirection indicated by the user terminal relative to the verticaldirection.)

$\begin{matrix}{{{\Delta \; X} = {E \times {\cos \left( {\frac{\pi}{2} - {\theta \; 1}} \right)}}}{{\Delta \; Y} = {E \times {\cos \left( {\theta \; 2} \right)}}}} & \left\lbrack {{Equation}\mspace{14mu} 5} \right\rbrack\end{matrix}$

(‘ΔX’ denotes the difference between an X-axis coordinate of the secondposition and an X-axis coordinate of the designated position, ‘ΔY’denotes the difference between an Y-axis coordinate of the secondposition and a Y-axis coordinate of the designated position, ‘E’ denotesthe distance between the projection position obtained by projecting thesecond position upon the ground and the designated position, ‘θ1’denotes the indicative angle representing the direction indicated by theuser terminal relative to the vertical direction, and ‘θ2’ denotes arotation angle representing an angle by which the user terminal isrotated.)

X3=X2+ΔX

Y3=Y2+ΔY   [Equation 6]

(‘X3’ and ‘Y3’ respectively denote the X-axis coordinate and the Y-axiscoordinate of the designated position, ‘X2’ and ‘Y2’ respectively denotethe X-axis coordinate and the Y-axis coordinate of the second position,‘ΔX’ denotes the difference between the X-axis coordinate of the secondposition and the X-axis coordinate of the designated position, and ‘ΔY’denotes the difference between the Y-axis coordinate of the secondposition and the Y-axis coordinate of the designated position.)

As described above, the cleaning robot 100 may calculate the coordinates(X3, Y3, Z3) of the designated position P3, move to the designatedposition P3, and intensively perform cleaning at the designated positionP3.

Detecting the position of the user terminal 200 and performing anoperation based on the position of the user terminal 200, performed bythe cleaning robot 100, have been described above.

Detecting a physical position of a user U and performing an operationbased on the physical position of the user U, performed by the cleaningrobot 100, will be described below.

FIG. 27 is a flowchart of a method of detecting and following a physicalposition of a user U, the method performed by a cleaning robot,according to an exemplary embodiment. FIG. 28 is a diagram illustratingdetecting and following a physical position of a user U, performed by acleaning robot, according to an exemplary embodiment.

Referring to FIGS. 27 and 28, a cleaning robot 100 detects an objectlocated above the main body 101 (operation S910).

In detail, the cleaning robot 100 outputs impulse signals via the firstto third robot UWB communication modules 181 a, 181 b, and 181 c anddetects reflected impulse signals. As described above with reference toFIG. 4, the first, second, and third robot UWB communication modules 181a, 181 b, and 181 c may measure the distance to an object, based on theimpulse signals reflected from the object. The position and movement ofthe object may be detected using the distance to the object measured byeach of the first, second, and third robot UWB communication modules 181a, 181 b, and 181 c and using triangulation.

Next, the cleaning robot 100 determines whether an object moving abovethe main body 101 at a predetermined speed is present (operation S915).

For example, as illustrated in FIG. 28(a), the user U may input a‘follow’ command to the cleaning robot 100 by placing his or her body(e.g., his or her arm or hand) above the cleaning robot 100 and shakinghis or her body from side to side.

When an object moving at the predetermined speed is detected, thecleaning robot 100 follows the detected object (operation S920).

When the user U places his or her body (e.g., his or her arm or hand)above the cleaning robot 100 and shakes his or her body from side toside, the cleaning robot 100 recognizes the ‘follow’ command and selectsthe user U's body as an object to be followed.

When the user U is moving while placing his or her body (e.g., his orher arm or hand) above the cleaning robot 100 as illustrated in FIG.28(b), the cleaning robot 100 may detect the position of the user U'sbody (e.g., the user U's arm or hand) and move to the position of theuser U's body (e.g., the user U's arm or hand) according to a change inthe position of the user U's body (e.g., the user U's arm or hand).

When the cleaning robot 100 detects an object while following the userU, the cleaning robot 100 may transmit information related to theobstacle to an additional portable communication device (not shown) thatthe user U carries with him/herself. In detail, when the movement of thecleaning robot 100 is interrupted by an obstacle, the cleaning robot 100may transmit a ‘can't follow’ signal to the user U's portablecommunication device. The user U's portable communication devicereceiving the ‘can't follow’ signal may warn the user U of the fact thatthe movement of the cleaning robot 100 is interrupted by the obstacleusing vibration or sound.

Also, while the cleaning robot 100 follows the user U, the cleaningrobot 100 may transmit information regarding a moving speed thereof toan additional portable communication device (not shown) that the user Ucarries him/herself. In particular, when a moving speed of the user U isequal to or greater than a reference speed, the cleaning robot 100 maytransmit the ‘can't follow’ signal to the user U's portablecommunication device, and the user U's portable communication devicereceiving the ‘can't follow’ signal may warn the user U of the fact thatthe moving speed of the user U exceeds the reference speed usingvibration, sound, etc.

As described above, the cleaning robot 100 transmits information relatedto the movement of the cleaning robot 100 to the user terminal 200 whilethe cleaning robot 100 follows the user terminal 200, so that the user Umay recognize the information related to the movement of the cleaningrobot 100.

As described above, the user U may cause the cleaning robot 100 to moveto a specific location in a space to be cleaned without the userterminal 200.

Detecting the position of the user terminal 200 or the position of theuser U's arm, performed by the cleaning robot 100, has been describedabove.

Calculating the position of the cleaning robot 100, performed by thecleaning robot 100, will be described below.

FIG. 29 is a flowchart of a method of calculating the coordinates of acleaning robot with respect to a beacon, the method performed by thecleaning robot, according to an exemplary embodiment. FIG. 30 is adiagram illustrating calculating the coordinates of a cleaning robotwith respect to a beacon, performed by the cleaning robot, according toan exemplary embodiment.

Referring to FIGS. 29 and 30, the cleaning robot 100 transmits aposition detecting signal to a beacon 300 (operation S810).

In detail, the cleaning robot 100 transmits the position detectingsignal to the beacon 300 via the first, second, and third robot UWBcommunication modules 181 a, 181 b, and 181 c as illustrated in FIG. 30.

The beacon 300 will be described below. The beacon 300 is installed forthe cleaning robot 100 to calculate a position of the cleaning robot 100itself in a space to be cleaned, and may be an entry-prevention devicethat prevents the cleaning robot 100 from entering a charging station ora specific location. The beacon 300 may include a UWB communicationmodule (not shown) or a beacon data communication module (not shown) tocommunicate with the cleaning robot 100.

Then, the cleaning robot 100 determines whether a response signal isreceived from the beacon 300 (operation S815).

As soon as receiving the position detecting signal, the beacon 300transmits a response signal to the cleaning robot 100. The cleaningrobot 100 determines whether the response signal is received.

When it is determined that the response signal is received (when ‘Yes’in operation S815), the cleaning robot 100 calculates the distancesbetween the robot UWB communication modules 181 a, 181 b, and 181 c andthe beacon 300 (operation S820).

In detail, the cleaning robot 100 may calculate the distances betweenthe first, second, and third robot UWB communication modules 181 a, 181b, and 181 c and the beacon 300, based on a time difference between timewhen the position detecting signal is transmitted and time when theresponse signal is received.

Next, the cleaning robot 100 detects the position of the beacon 30 usingtriangulation (operation S825).

In detail, the cleaning robot 100 may calculate the coordinates of thebeacon 300 in a coordinate system (in which the position of the cleaningrobot 100 is set as an origin) using triangulation.

Then, the cleaning robot 100 converts the coordinate system into acoordinate system in which the position of the beacon 300 is set as anorigin (operation S830).

Next, the cleaning robot 100 calculates the coordinates of the cleaningrobot 100 in the coordinate system in which the position of the beacon300 is set as the origin (operation S835).

The cleaning robot 100 may detect the position thereof in the space tobe cleaned according to the above method.

The cleaning robot 100 may be prevented from entering anentry-prevention region by comparing the coordinates of the cleaningrobot 100 relative to the beacon 300 with those of the entry-preventionregion, and may easily return to a charging station (not shown) bycomparing the coordinates of the cleaning robot 100 with those of thecharging station.

In the present disclosure, various exemplary embodiments of the presentinvention have been illustrated and described. However, the presentinvention is not limited to the exemplary embodiments set forth herein,and may be embodied in many different forms by those of ordinary skillin the technical field to which the invention pertains without departingfrom the spirit and idea of the invention as defined in the claims. Suchmodified examples of the present invention should not be understoodseparately from the invention disclosed herein.

What is claimed is:
 1. A cleaning robot comprising: a floor-obstaclesensing module configured to emit a floor-sensing radio wave toward afloor and detect a floor-reflected radio wave reflected from a floorobstacle or the floor; and a controller configured to detect quality ofa material of at least one of the floor obstacle or the floor, based ona waveform of the floor-reflected radio wave.
 2. The cleaning robot ofclaim 1, wherein the controller is further configured to: detect achange in waveform of the floor-reflected radio wave, including at leastone of a change in the amplitude, a change in phase or a change infrequency of the floor-reflected radio wave.
 3. The cleaning robot ofclaim 2, wherein the controller is further configured to: detect qualityof a material of at least one of the floor obstacle or the floor, basedon the change in waveform of the floor-reflected radio wave.
 4. Thecleaning robot of claim 1, wherein the controller is further configuredto detect quality of a material of at least one of the floor obstacle orthe floor, based on a difference between a waveform of thefloor-reflected radio wave detected when the floor obstacle is presentand a waveform of the floor-reflected radio wave detected when the floorobstacle is absent.
 5. The cleaning robot of claim 1, furthercomprising: a cleaning unit configured to clean a space to be cleaned;wherein the controller is further configured to control the cleaningunit based on the detected quality of a material of at least one of thefloor obstacle or the floor.
 6. The cleaning robot of claim 1, whereinthe controller is further configured to identify whether the floorobstacle is present, based on a waveform of the floor-reflected radiowave.
 7. The cleaning robot of claim 1, wherein the controller isfurther configured to detect at least one of a distance between thecleaning robot and the floor obstacle, a material of the floor obstacle,a shape of the floor obstacle or a position of the floor obstacle, basedon a waveform of the floor-reflected radio wave.
 8. The cleaning robotof claim 1, wherein the controller is further configured to detect theamount of the energy of the floor-reflected radio wave.
 9. The cleaningrobot of claim 8, wherein the controller is further configured to detecta distance between the cleaning robot and the floor obstacle, based onthe detected amount of the energy of the floor-reflected radio wave. 10.The cleaning robot of claim 1, wherein the controller is furtherconfigured to: identify a reflected-signal sensing time during which thechange in waveform of the floor-reflected radio wave occurs after thefloor-sensing radio wave is emitted; and detect a distance between thecleaning robot and the floor obstacle, based on the reflected-signalsensing time.
 11. The cleaning robot of claim 1, wherein thefloor-obstacle comprises at least one of furniture, a door sill, orwire.
 12. The cleaning robot of claim 7, wherein the controller isfurther configured to detect the position of the floor obstacle usingtriangulation.
 13. The cleaning robot of claim 1, further comprising: amain body; and a driving unit configured to move the main body, andwherein the controller is further configured to control the driving unitto avoid the floor obstacle.
 14. The cleaning robot of claim 1, whereinthe floor-obstacle sensing module is disposed to be inclined toward thefloor.
 15. A cleaning robot comprising: a floor-obstacle sensing moduleconfigured to transmit a floor-sensing radio wave toward a floor, anddetect a floor-reflected radio wave reflected from a floor obstacle orthe floor; a front-obstacle sensing module configured to transmit afront-sensing radio wave toward a front of the main body and detect afront-reflected radio wave reflected from a front obstacle; and acontroller configured to detect the floor obstacle based on thefloor-reflected radio wave and detect the front obstacle based on thefront-reflected radio wave.
 16. The cleaning robot of claim 15, whereinthe front-obstacle sensing module is further configured to transmit thefront-sensing radio wave having a predetermined vertical emission angletoward the front of the main body; and the floor-obstacle sensing moduleis disposed to be inclined toward the floor and is configured totransmit the floor-sensing radio wave toward the floor.
 17. The cleaningrobot of claim 15, further comprising: a main body; and a driving unitconfigured to move the main body, and wherein the controller is furtherconfigured to control the driving unit to perform avoidance driving onlywhen the floor obstacle is detected.